#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

#define QUEUE_MAX_SIZE 100

typedef struct Queue {
    int elements[QUEUE_MAX_SIZE];
    int size;
    int* front;
    int* rear;
} Queue;

int init_queue(Queue ** q);

int enqueue (Queue * q, int value);

int dequeue(Queue * q, int *value);

int first(Queue * q, int * value);

int is_empty(Queue * q);

int size(Queue * q); 